데이터베이스 간 동기화
- 마이크로서비스에서는 디비도 분산 배치된 초분산 컴퓨팅 환경 구성됨
- 디비의 동기화 이슈 존재
- Saga 패턴
- 로컬 트랜잭션, 이벤트, 보상 트랜잭션의 기술 및 기법을 통해 리소스 동기화
- 각 디비에 로컬 트랜잭션 처리
- 처리 성공 시 이후 디비에 전파
- 메시징 구조 활용
- 실패 시 되돌리는 로컬 트랜잭션 처리
- 보상 트랜잭션이라고 함
- 사가 패턴이 진행되는 특정 시점에는 데이터 일관성이 유지되지 않음
- 결과의 일관성만이 중요할 때 활용가능한 패턴
- 대부분의 비즈니스는 수 초 정도의 동기 지연을 허용
- 분석을 통해 감내할 것인지 가늠하고 적용